package com.chuanyun.wechatcheckin.model.wechat;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import lombok.Data;

import java.util.List;

/**
 * 企业微信获取用户列表响应
 */
@Data
public class WechatUserListResponse {
    
    /**
     * 错误码，0表示成功
     */
    @JsonProperty("errcode")
    private Integer errCode;
    
    /**
     * 错误信息
     */
    @JsonProperty("errmsg")
    private String errMsg;
    
    /**
     * 下一页游标
     */
    @JsonProperty("next_cursor")
    private String nextCursor;
    
    /**
     * 部门用户列表
     */
    @JsonProperty("dept_user")
    private List<DeptUser> deptUser;
    
    /**
     * 判断是否成功
     */
    public boolean isSuccess() {
        return errCode != null && errCode == 0;
    }
    
    /**
     * 部门用户信息
     */
    @Data
    public static class DeptUser {
        /**
         * 用户ID
         */
        @JsonProperty("userid")
        private String userId;
        
        /**
         * 部门列表
         */
        @JsonProperty("department")
        @JsonDeserialize(using = com.chuanyun.wechatcheckin.util.DepartmentDeserializer.class)
        private List<Integer> department;
    }
}